package com.kaizeli.website.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.kaizeli.website.pojo.entity.EmployeeAcceptance;
import com.kaizeli.website.pojo.dto.EmployeeAcceptanceDTO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.math.BigDecimal;
import java.util.List;

/**
 * 人员验收Mapper接口
 */
@Mapper
public interface EmployeeAcceptanceMapper extends BaseMapper<EmployeeAcceptance> {

    /**
     * 根据验收节点ID查询人员验收列表
     */
    List<EmployeeAcceptanceDTO> selectByAcceptanceId(@Param("acceptanceId") Long acceptanceId);

    /**
     * 根据项目ID查询人员验收列表
     */
    List<EmployeeAcceptanceDTO> selectByProjectId(@Param("projectId") Long projectId);

    /**
     * 根据员工ID查询人员验收列表
     */
    List<EmployeeAcceptanceDTO> selectByEmployeeId(@Param("employeeId") Long employeeId);

    /**
     * 计算验收节点总工时
     */
    BigDecimal calculateTotalWorkHours(@Param("acceptanceId") Long acceptanceId);

    /**
     * 计算验收节点总人工费用
     */
    BigDecimal calculateTotalLaborCost(@Param("acceptanceId") Long acceptanceId);
}
